﻿using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.Office.Server;
using Microsoft.Office.Server.Search;
using Microsoft.Office.Server.Search.Query;
using System.Data;
using System.Xml;
using Siderys.Blog.Search.Engine.Resultado;

namespace Siderys.Blog.Search.Engine
{
    internal class Utility
    {
        internal static List<ObjetoResultado> ReturnResultTableToList(ResultTable pResultTable)
        {
            List<ObjetoResultado> lRetorno = new List<ObjetoResultado>();
            while (pResultTable.Read())
            {
                lRetorno.Add(new ObjetoResultado((long)pResultTable.GetValue(0),
                                                 (long)pResultTable.GetValue(1),
                                                  pResultTable.GetString(2),
                                                  pResultTable.GetString(3),
                                                  pResultTable.GetInt32(4),
                                                  pResultTable.GetString(5),
                                                  pResultTable.GetString(6),
                                                  pResultTable.GetDateTime(7)));
            }
            return lRetorno;
        }

        internal static string ReturnResultTableToXml(ResultTable pResultTable)
        {
            string lRetorno = string.Empty;
            DataTable lResult = new DataTable("RelevantResults");
            DataSet lDsResultados = new DataSet("Results");
            lDsResultados.Tables.Add(lResult);
            lDsResultados.Load(pResultTable, LoadOption.OverwriteChanges, lResult);
            lRetorno = lDsResultados.GetXml();
            return lRetorno;
        }
    }
}
